{{tag>matériel imprimante Canon}}
----

====== Installer le pilote d'imprimantes Canon CAPT. ======
 
**[[:liste_imprimantes_canon|Consulter la liste des imprimantes Canon]] pour savoir si votre imprimante est supportée par ce pilote propriétaire((Le code source des pilotes propriétaires n'est pas librement accessible et modifiable par les développeurs d'Ubuntu)) fourni par Canon.**


===== Téléchargement du pilote Canon CAPT =====
Le pilote Canon CAPT se présente sous la forme d'un fichier unique de type archive au format **[[:tar|tar.gz]]**.\\
Cette archive d'environ 127 Mo nommée : **Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz** est à télécharger **[[http://support-au.canon.com.au/contents/AU/EN/0100459602.html#r=s&r=s|ici]]**.



==== Extraction de l'archive ====

=== Méthode graphique ===
Les fichiers téléchargés sous Ubuntu se trouvent par défaut dans le dossier //**Téléchargements**// du compte utilisateur en cours.\\
Accédez à ce dossier en utilisant votre [[:gestionnaire de fichiers]] habituel pour y [[:archivage#graphiquement|extraire l'archive]]((sous nautilus il s'agira d'un clic droit sur l'archive et de choisir << //Extraire ici// >>)) //Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz//, libérant ainsi un dossier : \\ << **Linux_CAPT_PrinterDriver_V270_uk_EN** >>.

=== Méthode en ligne de commande ===
Pour résumer les étapes précédentes et leur exécution en ligne de commande dans un [[:terminal]] :
  - Se positionner dans le dossier //Téléchargements// de votre compte utilisateur :<code>cd ~/Téléchargements</code>
  - Décompresser l'archive :<code>tar xvzf Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz</code>
  - Aller au dossier //Linux_CAPT_PrinterDriver_V270_uk_EN// :<code>cd ./Linux_CAPT_PrinterDriver_V270_uk_EN</code>

<note tip>Pensez à [[:console#optimiser_la_console_auto-completion|l'auto-complétion]] : Saisissez le début du mot //Linux// puis appuyez sur la touche de tabulation.</note>

Le dossier **Linux_CAPT_PrinterDriver_V270_uk_EN** inclut les sous-dossiers :
  * //**32-bit_Driver**// : Contient les [[:paquet|paquets .deb]] pour l'installation sur **[[:architecture_materielle|architecture]] 32bits**((il y a également les paquets au format RPM 32-bits)). //Voir la méthode : [[#Installation du pilote pour 32 bits]].//
  * //**64-bit_Driver**// : Contient les [[:paquet|paquets .deb]] pour l'installation sur **[[:architecture_materielle|architecture]] 64bits**((il y a également les paquets au format RPM 64-bits)). //Voir la méthode : [[#Installation du pilote pour 64 bits|Installation du pilote pour 64 bits]].//
   * //**Doc**// : Contient les informations légales relatives à l'utilisation et à __l'installation du pilote__. \\

<note help>Si vous ne savez pas si vous utilisez la version 32bits ou 64bits d'Ubuntu vous pouvez consulter le paragraphe : **[[:architecture_materielle#mon_ubuntu_est-il_en_32_bits_ou_en_64_bits|Mon Ubuntu est-il en 32 bits ou en 64 bits ?]]**</note>

===== Installation du pilote Canon CAPT =====

Le pilote Canon CAPT nécessite l'installation du paquet : **[[apt>libglade2-0]]** \\ 
Pour l'installer, vous pouvez aussi taper dans un [[:terminal]] :
<code>sudo apt-get install libglade2-0</code>

<note>Vérifier que l'imprimante est allumée et connectée à l'ordinateur.</note>

==== Installation du pilote pour 32 bits ====
Depuis le dossier **Linux_CAPT_PrinterDriver_V270_uk_EN**, naviguez jusqu'au chemin //**32-bit_Driver**//.

Dans ce dernier, se trouve un dossier //**Debian **//qui contient les deux pilotes mis sous forme de [[:paquet]] :\\
  * **cndrvcups-common_3.20-1_i386.deb** 
  * **cndrvcups-capt_2.70-1_i386.deb**

=== Méthode graphique ===
Pour [[:tutoriel/comment_installer_un_paquet|installer les pilotes]], depuis votre [[:gestionnaire de fichiers]], il suffira généralement de faire un double-clic sur le [[:paquet]] **cndrvcups-common_3.20-1_i386.deb** et de suivre les instructions de votre [[:gestionnaire de paquets]].

Vous ferez ensuite un double-clic sur le [[:paquet]] **cndrvcups-capt_2.70-1_i386.deb** afin de finaliser l'installation du pilote.

=== Méthode en ligne de commande ===
  - Depuis le dossier où l'archive a été décompressée, il faut aller dans le dossier //**./Linux_CAPT_PrinterDriver_V270_uk_EN/32-bit_Driver/Debian**//.\\ Si vous êtes déjà dans le bon dossier, passez au point 2, sinon entrez la commande suivante dans un [[:terminal]] :<code>cd ./Linux_CAPT_PrinterDriver_V270_uk_EN/32-bit_Driver/Debian</code>
  - Une fois dans le dossier //**Debian**//, installez les deux paquets :<code>sudo dpkg -i cndrvcups-common_3.20-1_i386.deb cndrvcups-capt_2.70-1_i386.deb</code> \\ 

==== Installation du pilote pour 64 bits ====
Depuis le dossier **Linux_CAPT_PrinterDriver_V270_uk_EN**, naviguez jusqu'au chemin //**64-bit_Driver**//.

Dans ce dernier, se trouve un dossier //**Debian **//qui contient les deux pilotes mis sous forme de [[:paquet]] :\\
  * **cndrvcups-common_3.20-1_amd64.deb** 
  * **cndrvcups-capt_2.70-1_amd64.deb**

=== Méthode graphique ===
Pour [[:tutoriel/comment_installer_un_paquet|installer les pilotes]], depuis votre [[:gestionnaire de fichiers]], il suffira généralement de faire un double-clic sur le [[:paquet]] **cndrvcups-common_3.20-1_amd64.deb** et de suivre les instructions de votre [[:gestionnaire de paquets]].

Vous ferez ensuite un double-clic sur le [[:paquet]] **cndrvcups-capt_2.70-1_amd64.deb** afin de finaliser l'installation du pilote.

=== Méthode en ligne de commande ===
  - Depuis le dossier où l'archive a été décompressée, il faut aller dans le dossier //**./Linux_CAPT_PrinterDriver_V270_uk_EN/64-bit_Driver/Debian**//.\\ Si vous êtes déjà dans le bon dossier, passez au point 2, sinon entrez la commande suivante dans un [[:terminal]] :<code>cd ./Linux_CAPT_PrinterDriver_V270_uk_EN/64-bit_Driver/Debian</code>
  - Une fois dans le dossier //**Debian**//, installez les deux paquets :<code>sudo dpkg -i cndrvcups-common_3.20-1_amd64.deb cndrvcups-capt_2.70-1_amd64.deb</code> \\ 

=== Pour les versions Ubuntu 64 bits : 12.04 LTS et suivantes ===
Le pilote CAPT nécessite aussi l'installation des paquets 32bits suivants : **[[apt>libatk1.0-0:i386,libcairo2:i386,libgtk2.0-0:i386,libpango1.0-0:i386,libstdc++6:i386,libxml2:i386,libpopt0:i386]]** \\ 

Pour les installer, vous pouvez aussi taper dans un [[:terminal]] :
<code>sudo apt-get install libatk1.0-0:i386 libcairo2:i386 libgtk2.0-0:i386 libpango1.0-0:i386 libstdc++6:i386 libxml2:i386 libpopt0:i386</code>
Accepter l'installation des dépendances complémentaires proposées.


===== Installation de l'imprimante =====
Il faut maintenant installer l'imprimante pour qu’elle puisse fonctionner.\\
Cette partie utilise le [[:terminal]].\\
N'oubliez pas que la documentation, fournie dans l'archive d'installation du pilote, peut vous donner des informations complémentaires à cette page.

<note>Si vous n'êtes pas familier avec le vocabulaire utilisé ou si vous désirez avoir une vision d'ensemble de l'impression sous Ubuntu, consultez la page : **[[:impression_sous_ubuntu|Comprendre l'impression sous Ubuntu]]**.</note>

==== Pré-requis ====
Connaître le nom du **fichier ppd(([[http://fr.wikipedia.org/wiki/Printer_Postscript_Description|Printer Postscript Description]]))** du pilote, correspondant à votre imprimante.\\
Tapez cette commande dans un [[:terminal]] pour obtenir la liste des fichiers ppd disponibles : <code>ls /usr/share/cups/model/ | grep CNCUPS</code> 
Pour la plupart des modèles, vous trouverez 2 fichiers correspondants à votre imprimante : //CNCUPSxxxxCAPTK.ppd// et //CNCUPSxxxxCAPTJ.ppd//.\\ 
La documentation Canon recommande le //CNCUPSxxxxCAPTK.ppd//.\\ 
Si après avoir suivi ce tutoriel votre imprimante ne fonctionne pas, essayez avec le fichier //CNCUPSxxxxCAPTJ.ppd//. \\
Vous trouverez également **[[:liste_imprimantes_canon#lasershot_lbp_et_i-sensys_lbp|ici]]** la liste des fichiers PPD pour votre imprimante.

==== Relancer CUPS ====
Pour que l'installation du pilote CAPT soit prise en compte par [[:CUPS]], entrer les commandes suivantes dans un [[:terminal]] : 
<code>sudo service cups stop</code>
<code>sudo service cups start</code>
\\

==== Pour les versions Ubuntu 32 bits et 64 bits ====

Elle se passe en trois étapes : 
  - Installer la nouvelle imprimante dans [[:CUPS]] en indiquant quel pilote utiliser,
  - Indiquer au démon ccpd((démon spécifique à Canon pour la gestion de l'imprimante)) cette imprimante,
  - Démarrer le démon ccpd.

=== Installation de l'imprimante dans CUPS ===

Taper la commande suivante dans un [[:terminal]] : 

<code>sudo /usr/sbin/lpadmin -p [nom de l'imprimante] -m [fichier ppd] -v [uri périphérique] -E</code>
où :
  * -p [nom de l'imprimante] : modèle de l'imprimante
  * -m [fichier ppd] : nom du fichier .ppd du pilote (cf [[#pré-requis]] pour connaître son nom)
  * -v [uri périphérique] : définit l'attribut device-uri de la file d'attente de l'imprimante.\\ Ici on mettra : ''%%ccp://localhost:59787%%''\\ 
  * -E : active l'imprimante déterminée et autorise les demandes d'impression sur ce périphérique \\ 

Exemple pour une LBP5000 :

<code>sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59787 -E</code>

<note important>Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/majuscule)).
</note>

Si cette méthode ne fonctionne pas, vous pouvez toujours utiliser l'ancienne procédure qui consistait à :\\ 
  - Vérifier l'existence ou créer les dossiers et fichiers **/var/ccpd**, **/var/captmon** et **/var/ccpd/fifo0** : <code>sudo mkdir /var/ccpd
sudo mkdir /var/captmon
sudo mkfifo /var/ccpd/fifo0
sudo chown -R lp:lp /var/ccpd/</code>
  - Installer l'imprimante dans CUPS avec la commande suivante :\\ (exemple pour une LBP5000) <code>sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E</code> 

\\
=== Enregistrer l'imprimante dans le démon ccpd ===

Taper la commande suivante dans un [[:terminal]] : 

<code>sudo /usr/sbin/ccpdadmin -p [nom de l'imprimante] -o [device]</code>
où :

  * [Nom de l'imprimante] : nom que vous avez choisi lors de l'[[#commande d'installation|installation dans cups]]
  * [device] : emplacement du fichier du périphérique : Vérifier dans le répertoire ///dev/usb// le nom exact (lp0; lp1; lp2 ...)

<note>L'imprimante doit être allumée et connectée car le fichier ///dev/usb/lpxx// est recréé automatiquement à chaque connexion de l'imprimante.
</note>

    * **Valeur de [device] pour une connexion en usb sur ///dev/usb/lp0// :**
      * [device] sera remplacé par : // /dev/usb/lp0 // 
      * Exemple pour une LBP5000 : <code>sudo /usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0</code>\\ Exemple de retour de cette commande pour une LBP5000 :  <file> Usage: 
  ccpdadmin [-p Printer-name -o Printer-dev-path]
  ccpdadmin [-x Remove-Printer-name]

 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler	: Backend	: FIFO path		: Device Path 	: Status 
 ----------------------------------------------------------------------------
     [0]    : LBP5000 	: ccp 		: //localhost:59787 	: /dev/usb/lp0  : New!! </file>
    * **Valeur de [device] pour une connexion en réseau :**
      * net : [adresse IP]
      * Exemple pour une LBP5000 : <code>sudo /usr/sbin/ccpdadmin -p LBP-5000 -o net:192.168.0.20</code>
  
   Il peut être nécessaire d'ajouter une ligne // Allow From [adresse IP] // dans les sections // <Location /> // et // <Location /admin> // du fichier ** /etc/cups/cupsd.conf **.\\ \\ 


=== Démarrer le démon ccpd ===
 1. Adapter le démon ccpd au fonctionnement d'Ubuntu : \\
[[:tutoriel:comment_modifier_un_fichier|Ouvrez avec les droits d'administration]] le fichier : **/etc/init.d/ccpd** et ajoutez ces lignes après les 2 premières :
<file>
### BEGIN INIT INFO
# Provides:          ccpd
# Required-Start:    $local_fs $remote_fs $syslog $network $named
# Should-Start:      $ALL
# Required-Stop:     $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Start Canon Printer Daemon for CUPS
### END INIT INFO
</file>
Terminez en enregistrant ce fichier.\\ \\ 

Vous devez avoir ceci :
<file>
#!/bin/sh
# startup script for Canon Printer Daemon for CUPS (ccpd)
### BEGIN INIT INFO
# Provides:          ccpd
# Required-Start:    $local_fs $remote_fs $syslog $network $named
# Should-Start:      $ALL
# Required-Stop:     $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Start Canon Printer Daemon for CUPS
### END INIT INFO

if [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]; then
	while [ `ps awx | grep cupsd | grep -v grep | wc -l` -eq 0 ]
	do
........................................

</file>

\\

 2. Tapez la commande suivante :
<code>sudo service ccpd start</code>

\\

==== Vérifications de l'installation ===
1. Taper dans un [[:terminal]] la commande suivante pour vérifier le fonctionnement du démon ccpd :
<code>sudo service ccpd status</code>

vous devriez avoir en retour quelque chose du type :
<file>/usr/sbin/ccpd: 4115 4114</file>

<note tip>Si vous ne voyez qu'un seul nombre à la fin de la ligne, [[:tutoriel:comment_modifier_un_fichier|éditez avec les droits d'administration]] le fichier **/etc/ccpd.conf** et ajoutez ceci (remplacez //LBP5000// et ///dev/usb/lp0// par ce que vous avez indiqué précédemment) : 
<file>
<Printer LBP5000>
DevicePath /dev/usb/lp0
</Printer>

</file>
Redémarrer le démon ccpd et vérifier de nouveau son statut :
<code>
sudo service ccpd restart
sudo service ccpd status</code>
</note>

2. Tapez dans un [[:terminal]] la commande suivante pour vérifier l'enregistrement dans le démon ccpd :
<code>sudo ccpdadmin</code>la commande doit vous renvoyer :
<file>
Usage:
  ccpdadmin [-p Printer-name -o Printer-dev-path]
  ccpdadmin [-x Remove-Printer-name]
 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787
 Entry Num  :Spooler   :Backend  :   FIFO path       : Device Path  : Status
 -------------------------------------------------------------------
   [0]    :LBP-XXX     : ccp    : //localhost:59787 : /dev/usb/lp0  :
</file>
où //LBP-XXX// et ///dev/usb/lp0// sont à adapter  selon la manière dont vous avez installé votre imprimante dans le démon ccpd.\\
S'il y a une erreur, elle apparaîtra en fin de ligne.\\ \\

3. Taper dans un [[:terminal]] la commande suivante pour vérifiez l'état de l'imprimante :
<code>captstatusui -P [nom de l'imprimante]</code> 
où [nom de l'imprimante] est le nom que vous avez donné lors de l'[[#Installation de l'imprimante dans CUPS|installation dans cups]].\\
La commande doit ouvrir la fenêtre du //Canon Statusmonitor//((Le //Canon Statusmonitor// donne accès à certaines fonctionnalités avancées de l'imprimante telles que : nombres pages imprimées, niveaux toners, calibrage, nettoyage ou encore mise en veille)) avec le message "**Ready to print** (ou sleeping)".\\

<note tip>Si toutefois la commande retourne le message "**capstatusui Socket Error**", vous pouvez essayer de redémarrer le démon ccpd et le service d'impression avec les commandes suivantes :
<code>sudo service ccpd stop</code>
<code>sudo service cups restart</code>
<code>sudo service ccpd start</code>
Si cela ne suffit pas, laissez l'imprimante allumée et connectée puis redémarrez l'ordinateur. Penser ensuite à lancer le démon ccpd.</note>


Si ces vérifications sont positives, l'imprimante devrait-être opérationnelle.\\
Essayer d'imprimer un document à partir de l'application de votre choix. Si les impressions sortent correctement vous pouvez passer à l'étape suivante.

<note>Tant que vous n'aurez pas réalisé la partie [[#Automatiser le démarrage du démon ccpd]], il faudra lancer le démon ccpd manuellement à chaque redémarrage de l'ordinateur. <code>sudo service ccpd start</code></note>
 \\ 

4. Définir cette imprimante par défaut (si vous le souhaitez) :\\
Ouvrez l'application "//Imprimantes//" faites un clic droit sur l'icone de l'imprimante et sélectionnez "//Définir par défaut//". \\ 
Il se peut que vous trouviez une deuxième imprimante identifiée "//LBPxxxx-2//". Elle aura été créée par le système de détection automatique des imprimantes. Ignorez là, le système ne sait pas installer correctement ces imprimantes et si vous la supprimez elle reviendra.


===== Automatiser le démarrage du démon ccpd =====

Une fois correctement installée, pour que l'imprimante fonctionne d'une façon transparente pour l'utilisateur, il faut automatiser le démarrage du démon ccpd. \\ 

==== Pour la version 15.04 ====
Taper la commande suivante dans un [[:terminal]] : 
<code>sudo update-rc.d ccpd defaults</code>

==== Pour les versions ANTÉRIEURES à 15.04 ====
[[:tutoriel:comment_modifier_un_fichier|Créez avec les droits d'administration]] un fichier : **/etc/init/ccpd-start.conf** pour y insérer ceci:

<file>
# ccpd-start - Lance ccpd 
 
description    "Start daemon ccpd for Canon printers"

start on runlevel [2345]
stop on runlevel [016]

exec /etc/init.d/ccpd start

end script</file> 

Terminez en enregistrant ce fichier.\\


===== Retirer une imprimante =====
En cas d'erreur de manipulation, il peut être utile d'avoir à retirer une imprimante installée de manière erronée.\\
Dans un [[:terminal]], on saisira : 
<code>sudo /usr/sbin/ccpdadmin -x [nom de l'imprimante]</code>
où [nom de l'imprimante] est le nom que vous avez donné lors de l'[[#commande d'installation|installation dans cups]].\\

Lorsque aucune imprimante n'est installée, la commande : 
<code>sudo /usr/sbin/ccpdadmin </code>

donnera un résultat de ce type : 
<file>
Usage: 
  ccpdadmin [-p Printer-name -o Printer-dev-path]
  ccpdadmin [-x Remove-Printer-name]
 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787
Entry Num  :Spooler  :Backend  :FIFO path  :Device Path  :Status 
 ------------------------------------------------------
</file>

\\
===== Sources =====

  * Documentation Canon fournie avec le pilote d'installation
  * la page man de lpadmin
  * (en)[[https://help.ubuntu.com/community/CanonCaptDrv190|Installation Capt 1.9 sur Ubuntu.com]]
  * (en) [[http://v0xel.wordpress.com/2006/05/23/canoon-lbp-1120-on-ubuntu-510-how-to|Canon lbp-1120 How to]] sur v0xel.wordpress.com
  * (en) [[http://ubuntuforums.org/showthread.php?t=1315665|Fil de discussion]] sur ubuntuforums.org

----
//Contributeurs:// [[:utilisateurs:murex]], [[:utilisateurs:fabux]], [[:utilisateurs:Antoine P]]
